Logic circuits using polycrystalline semiconductor thin film transistors

ABSTRACT

A large scale integrated (LSI) or a very large scale integrated (VLSI) logic circuit. such as a fully progammable gate array (FPGA), comprises a plurality of polysilicon thin film transistors TFTs. The circuit, which may include a delay circuit, is asynchronous and does not comprise a clock. Thus, operations to be performed by the TFTs need not be performed within a single clock period—rather the operation of each stage of TFTs in the circuit is dependent on receiving a signal either from an input to the circuit or from a preceding stage in the circuit. Problems with variations in the threshold voltage between the TFTs are therefore avoided.

[0001] The present invention relates to digital logic circuits using thin film transistors (TFTs) formed using a polycrystalline semiconductor film, such as polysilicon TFTs in which the film is polycrystalline silicon.

[0002] Polysilicon TFTs are well known and the structure of a conventional N-type TFT 10 will be explained with reference to FIG. 1.

[0003] As illustrated in FIG. 1, a bedding protective film 51 made of a silicon oxide film is formed on a surface of a substrate 50. On the surface of this bedding protective film 51, a polycrystalline semiconductor film 100 is formed that is patterned into island forms. On the surface of the semiconductor film 100, a gate insulating film 12 is formed, and a gate electrode 14 is formed on the surface of this gate insulating film 12. In the semiconductor film 100, a channel region 15 is formed at a region facing the gate electrode 14 through the gate insulating film 12. At the sides of this channel region 15, a high concentration source region 16 and a high concentration drain region 17 are formed in a self-aligned condition relative to the gate electrode 14. To the high concentration source region 16 and high concentration drain region 17, a source electrode 41 and a drain electrode 42 are respectively electrically connected through contact holes in an interlayer insulating film 52.

[0004] Such polysilicon TFTs have an advantage over field effect transistors (FETs) formed with a single crystal semiconductor, such as MOS transistors, in that they can be inexpensively produced since the constraints of producing a satisfactory single crystal silicon substrate are avoided. The transistors can be fabricated on any suitable insulating substrate, such as glass sheet. It follows that the size constraints necessitated by the production of a single crystal are obviated, so that large numbers of TFTs can be produced using a single polysilicon film fabricated on a single inexpensive insulating substrate.

[0005] However, polysilicon TFTs have the significant problem that they have widely varying threshold voltages, even when manufactured in the same batch and using a common polysilicon film. The threshold voltage is effectively the voltage applied to the gate electrode 14 at which current can flow through the channel region 15 of the TFT and so determines the ON-state of the TFT. This threshold voltage is in turn determined by the semiconductor film material.

[0006] In integrated circuits comprised of single crystal silicon FETs, the single crystal structure is substantially the same for all of the FETs and, consequently, FETs of the same construction will have substantially the same threshold voltage. This effect can be further improved, as required, by the closer proximity of the single crystal FETs to each other on the integrated circuit.

[0007] In contrast, in polysilicon TFTs it is difficult to guarantee continuity of individual crystal sizes in the polysilicon film. Furthermore, there are also variations in substrate purity. Thus, the polysilicon film material varies between TFTs, even when the TFTs are formed using the same polysilicon film. This variation in substrate purity, and more particularly in the number of grain boundaries of the crystals in the polysilicon film, affects the threshold voltage, no matter how close the mutual proximity of the polysilicon TFTs on the integrated circuit. Accordingly, threshold voltage varies considerably between polysilicon TFTs, even when using adjacent transistors on a common substrate. Polysilicon TFTs also show other parameter variations, such as saturation current variations, for similar reasons. As a consequence of these parameter variations, there have been considerable problems in implementing digital logic circuits and, in particular, large scale integrated (LSI) or very large scale integrated (VLSI) digital circuits, such as FPGAs, using polysilicon TFTs and this has inhibited the adoption of such transistors for many digital circuit applications. The use of TFTs for FPGAs has not, therefore, been proposed previously.

[0008] A field programmable gate array (FPGA) is one type of LSI digital circuit. FPGAs are known in the art and comprise arrays of logic blocks which can be linked together to form complex logic implementations. Each logic block may be made up of a number of gates or transistors, known as a macro cell which has a specified or programmed logic function. The individual macro cells are connected together to implement the logic function of the FPGA.

[0009] Moreover, LSI digital circuits, including FPGAs, are conventionally designed to have synchronous logic. In such synchronous logic circuits, the timing of all switching operations performed by the circuit transistors is controlled by clock pulses generated by a master clock. Thus, synchronous logic circuits operate on a fixed cycle operation in which a fixed time is assigned in advance to each operation to be performed. Because all of the transistors are clocked by the master clock, all operations to be performed by the transistors of the circuit must be performed within one clock period. However, the variation in threshold voltage and other parameters between polysilicon TFTs leads to a variation in the logic delay of such polysilicon TFT circuits. As a consequence, it is difficult to guarantee that each operation to be performed by the polysilicon TFTs, if polysilicon TFTs are used in conventional synchronous digital logic circuits, will occur during one clock period and hence that the circuit will function to design requirements. This problem is further compounded in LSI digital circuits comprising polysilicon TFTs, since the large number of polysilicon TFTs necessarily required leads to an even greater variation in logic delay for the circuit. This problem would be especially prevalent in FPGAS, in which the large number of polysilicon TFTs required would lead to an even great variation in logic delay between the TFTs.

[0010] In contrast, since single crystal FETs are formed using a single crystal as the substrate, the variation in threshold voltage and other parameters between single crystal FETs is considerably smaller, in comparison to TFTs, and hence the variation in logic delay is correspondingly reduced. Thus, the implementation of functional digital circuits has been considered to be significantly eased by using ICs comprised of single crystal FETs. However, as discussed above, the use of a single crystal poses problems in that it is not at present possible to manufacture LSI circuits using single crystals to the desired large size. It follows therefore that the single crystal solution is restricting the size of the circuits which can be produced. Single crystal FETs are also more expensive to manufacture than polysilicon TFTs, since growth of the single crystal requires different manufacturing conditions and greater accuracy. This can become of significant importance in VLSI circuits where several million transistor devices may be necessary to carry out the circuit function. Furthermore, because the TFTs can be fabricated on an insulating substrate rather than on a semiconductor substrate, the bulk capacitance of the transistor devices is reduced, in comparison to MOS transistors, and hence the operating speed of the transistor devices can be increased. Again, this is a desirable feature for VLSI logic circuits, and in particular for FPGAs, as the circuits can then be operated at a higher speed, reducing processing time.

[0011] Asynchronous logic circuits, which are not clocked, are known. However, very few LSI circuits have been designed which use asynchronous techniques. This is because synchronous logic has the general advantage that fewer and simpler circuits are required to implement it, which conflicts to a lesser degree with the size constraints imposed by the restricted size of the single crystal substrates. Thus, synchronous logic has been commonly adopted for logic circuits. Moreover, because synchronous logic requires fewer and simpler circuits, it has been possible to implement accurate logic using single crystal FETs. However, there is an increasing need for digital logic circuits to carry out increasingly complex tasks which means that the circuits are becoming more complex, which in turn means that a larger number of transistors are required to complete the logic operations. A methodology which overcomes the size constraints presented by the use of single crystal MOS circuits, such as may be provided by the use of TFTs, is seen therefore as being particularly advantageous. However, for the reasons outlined above, the use of polysilicon TFTs in synchronous logic LSI digital circuits has been considered unworkable. Hence, the use of polysilicon TFTs and the adoption of asynchronous methodology for LSI digital circuits, such as FPGAs, is hitherto unknown.

[0012] According to a first aspect of the present invention, there is provided a polycrystalline semiconductor thin film transistor asynchronous logic circuit comprising an array of logic blocks including a first logic block for performing a logic operation and for providing logic output signals to a second logic block, wherein the second logic block is arranged not to commence its logic operation until the first logic block has completed its logic operation.

[0013] Preferably, the array of logic blocks is configured to provide a fully programmable gate array.

[0014] In a preferred embodiment, the asynchronous logic circuit is provided with connections configured as horizontal and vertical connections at intersections of horizontal and vertical routing channels coupling between the logic blocks of the FPGA, the horizontal connectors comprising transmission gates arranged such that, at a horizontal connector, each horizontal routing channel can be selectively coupled to a respective vertical routing channel at the said horizontal connector but not to the other vertical routing channels at the said connector, and such that, at a vertical connector, each vertical routing channel can be selectively coupled to a respective horizontal routing channel at the said vertical connector but not to the other horizontal routing channels at the said vertical connector.

[0015] Most advantageously, the horizontal and vertical connectors are arranged such that in the horizontal and vertical directions of the routing channels of the FPGA, horizontal connectors are alternately disposed with respect to vertical connectors whereby a connection between the horizontal connectors is made through at least one vertical connector, and a connection between two vertical connectors is made through at least one horizontal connector.

[0016] According to a second aspect of the present invention, there is provided a method of performing asynchronous logic comprising providing an asynchronous logic circuit of polycrystalline semiconductor thin film transistors arranged as an array of logic blocks including a first logic block performing a logic operation and providing logic output signals to a second logic block and arranging the second logic block not to commence its logic operation until the first logic block has completed its logic operation.

[0017] In a preferred embodiment, the method comprises providing the array of logic blocks as a fully programmable gate array (FPGA).

[0018] Advantageously, the method comprises configuring the connections as horizontal and vertical connectors at intersections of horizontal and vertical routing channels for coupling between the logic blocks of the FPGA, and providing the horizontal connectors with transmission gates arranged such that, at a horizontal connector, each horizontal routing channel can be selectively coupled to a respective vertical routing channel at the said horizontal connector but not to the other vertical routing channels at the said connector and such that, at a vertical connector, each vertical routing channel can be selectively coupled to a respective horizontal routing channel at the said vertical connector but not to the other horizontal routing channels at the said vertical connector.

[0019] Most advantageously, the method comprises arranging the horizontal and vertical connectors such that, in the horizontal and vertical directions of the routing channels of the FPGA, horizontal connectors are alternately disposed with respect to vertical connectors whereby a connection between two horizontal connectors is made through at least one vertical connector, and a connection between two vertical connectors is made through at least one horizontal connector.

[0020] Embodiments of the present invention will now be described by way of further example only and with reference to the accompanying drawings, in which:

[0021]FIG. 1 is a schematic cross-sectional view of a conventional polysilicon thin film transistor;

[0022]FIG. 2 is a functional schematic diagram of a logic circuit;

[0023]FIG. 3 is a timing diagram showing the clock period used for the circuit illustrated in FIG. 2.

[0024]FIG. 4 illustrates schematically a logic block for use in the present invention.

[0025]FIG. 5 is a circuit diagram of a delay element for use in a TFT logic circuit in accordance with the present invention;

[0026]FIG. 6 is a circuit diagram of an alternative embodiment of a delay element for use in a TFT logic circuit in accordance with the present invention; and

[0027]FIG. 7 is a circuit diagram of a third embodiment of a delay element for use in a TFT logic circuit in accordance with the present invention;

[0028]FIG. 8 is a schematic plan view of an FPGA according to the present invention;

[0029]FIG. 9 is a schematic plan view illustrating connections in an FPGA according to the present invention;

[0030]FIG. 10 is a plan view of a group of logic blocks included in an FPGA according to the present invention;

[0031]FIG. 11 is a block schematic diagram of a logic block for use in the present invention;

[0032]FIG. 12 is a block schematic diagram of a horizontal connector for use in a FPGA according to the present invention;

[0033]FIG. 13 is a block schematic diagram of a vertical connector for use in a FPGA according to the present invention; and

[0034]FIG. 14 is a block schematic diagram showing an example of selectively coupled logic blocks in a FPGA.

[0035]FIG. 2 illustrates schematically a typical LSI digital circuit 20, which is operated using synchronous methodology. Such a circuit may, typically, be incorporated into an FPGA. The digital circuit comprises a logic circuit 22 coupled in series between two D-type flip flop circuits 24 and 26. The clock period required for the circuit to function can be determined with reasonable accuracy when single crystal transistors are used because the switching delays associated with each transistor, being fabricated on a single crystal substrate, are relatively constant and, therefore, quantifiable. The clock period T is therefore usually allocated so as to equal the delay 28 of the flip flop circuit 24, the set up time 30 for the flip flop 26, the delay 32 of the logic circuit, plus a relatively small period of spare time 34. The spare time is allocated to accommodate, for example, the difference in time for a common clock pulse to arrive at both D-type circuits, which might be physically located at opposite ends of the overall integrated circuit. This is commonly referred to in this art as clock skew. Such a clock period is shown in FIG. 3.

[0036] If TFT transistors are used to provide the circuit, the variations in delay of the various circuit components become very large and it becomes difficult to allocate a clock period which will guarantee operation of the circuit. If a long clock period is allocated which is predicted to confidently accommodate the critical path circuit delays, the overall circuit operation is likely to become too slow for practical use.

[0037] With the present invention, it has been realised that if asynchronous methodology is adopted, and if each stage of the circuit is triggered by the completion of the operation of the preceding stage, then the circuit will be able to complete its required function taking into account the variable operational delays of the various circuit elements. Furthermore, the speed at which the circuit function is completed is determined by the critical path delay of the circuit elements and is not governed by an externally determined and arbitrary clock period, which may be of unnecessarily long duration. This enables LSI digital circuits to be implemented using TFTs and therefore overcomes the size constraints arising from the use of single crystal silicon substrates.

[0038]FIG. 4 shows schematically two logic blocks 60 and 62, together with an interface circuit 64 suitable for use in an asynchronous logic circuit according to the present invention.

[0039] In the embodiment shown, each logic block 60 and 62 is provided with a respective enable input terminal 66, 68. Each logic block 60, 62 represents a stage in the overall logic circuit and, as will be appreciated by a person familiar with this art, is configured as an array of logic gates to perform a respective logic function. Each of the logic blocks 60, 62 is provided, in the example shown, with three input and three output terminals and the respective output terminals of one logic block are coupled to respective input terminals of the next logic block by two parallel conductive paths because two bit logic is used to communicate between the logic blocks in the logic circuit according to this embodiment of the present invention.

[0040] By using two bit logic, the following exemplary encoding may be used to convey information between the various parts of the circuit. The binary combination 00 can be used to indicate that a part of the circuit is not ready; the binary combinations 01 and 10 can be used to respectively represent logic 0 and 1, or vice versa; and the binary combination 11 can be used to indicate a ‘not allowed’ condition, such as, for example, to show that a fault has occurred in the circuit.

[0041] The interface circuit 64 shown in FIG. 4 comprises OR gates 70, 72 and 74, which have their inputs coupled respectively to output terminals out1, out2 and out3 of logic block 60. Hence, the OR gates 70, 72 and 74 receive the binary output signals fed to logic block 62 from logic block 60.

[0042] The interface circuit 64 also includes OR gate 76, which is arranged to receive binary output signals from a logic block of a preceding stage (not shown) of the logic circuit. The outputs of OR gates 70, 72 and 74 are fed to a delay element A which is designed such that when the output signals from OR gates 70, 72 and 74 are all logic ZERO, the output signal from delay element A is also logic ZERO, and when the output signals from OR gates 70, 72 and 74 are all logic 1, the output signal from delay element A is also logic 1. However, delay element A is arranged such that its output will only return to logic ZERO when the output signals from OR gates 70, 72 and 74 have all returned to logic ZERO. If the signal at the outputs of any one of OR gates 70, 72 and 74 remains at logic 1, the output of the delay element A will remain at logic 1. From FIG. 4 it can also be seen that the interface circuit 64 also receives output signals from a preceding stage via the OR gate 76. This receipt of binary output signals from a preceding stage is shown by way of example and is intended to indicate that any logic block in the logic circuit, logic block 62 in this example, may require to receive logic signals from not only the immediately preceding stage of the overall circuit but also from another preceding stage of the circuit. However, it should be realised that any logic block of the circuit may require output logic signals from the immediately preceding stage only, in which case the OR gate 76 and delay element B would not be provided.

[0043] It can be seen from FIG. 4 that the output of OR gate 76 is coupled to one input of delay element B, which is also arranged to receive on a second input the output signal from delay element A.

[0044] Delay element B is configured to operate in a similar manner to delay element A in that the output signal from delay element B will remain at logic ZERO until the outputs from delay element A and OR gate 76 are both logic 1, and the ouput from delay element B will remain at logic 1 until the output from both delay element A or OR gate 76 return to logic ZERO.

[0045] The interface unit 64 functions as follows.

[0046] It is assumed that logic block 60 comprises of three respective circuit paths, CP1, CP2, CP3, between input terminals in1 to in3 and output terminal out1 to out3, each path being configured by a series of logic gates fabricated using TFTs. It is also assumed that the circuit path CP1 between terminals in1 and out1 is able to complete its switching operations in less time than the circuit path CP2 between terminals in2 and out2, which in turn is able to complete its switching operations in less time than the circuit path CP3 between terminals in in3 and out3.

[0047] Circuit path CP1 will therefore complete its logic operations first, and the required logic output, for example logic 1 represented by th code 10, will be passed to OR gate 70. The output of OR gate 70 switches therefore to logic 1 and is passed to one input of delay element A. However, the output from delay element A remains at logic ZERO because the output signals from output terminals out2 and out3 both indicate that circuit paths CP2 and CP3 have not completed their operations by providing the code 00 and hence the output signals from OR gates 72 and 74, which are input to delay element A, remain at logic ZERO.

[0048] When circuit paths CP1 and CP2 have also completed their logic operations, the output signals on output terminals out2 and out3 will change from code 00 to, for example, code 01, indicating that the logic output from terminals out2 and out3 are both logic ZERO, the output signals of OR gates 72 and 74 will also switch to logic 1 and the output signal from delay element A will then switch from logic ZERO to logic 1. If it is assumed that the output signal from OR gate 76 is already at logic 1, the signals at both input terminals to delay element B will be logic 1, and the output signal from delay element B will switch from logic ZERO to logic 1.

[0049] Delay element B, in switching from logic ZERO to logic 1 at its output, signifies that the logic operations of the immediately preceding stage, namely logic block 60, and the preceding stage (not shown) coupled to OR gate 76 are complete. The output signal from delay element B can then be used as a trigger for logic block 62 to its logic operations.

[0050] It can be seen therefore that by using asynchronous logic, the logic operations of the logic circuit as a whole are completed in the shortest time possible, but compensating for the variability in the TFT characteristics, because each stage commences its operations only when it is told that the preceding stages on which it relies have each completed their respective operations.

[0051]FIGS. 5, 6 and 7 all show embodiments of delay circuits suitable for use as delay elements A and B of FIG. 4 fabricated from polysilicon TFTs. No single crystal FETs are used.

[0052] Thus, in an asynchronous logic circuit according to the present invention, since the operation of each stage is dependent on receiving a signal from a preceding stage indicating that the preceding stage has completed its operation, the problems of variations in threshold voltage and other parameters associated with the use of polysilicon TFTs are overcome. Thus, the most attractive features of polysilicon TFTs can be fully utilised. These include reduced manufacturing costs and increased yield in due manufacturing process, a lowering of the size constraints presently imposed on LSI and VLSI circuits and the ability to use a larger size of integrated circuit for such circuits. Moreover, the use of TFTs imparts greater reliability to such circuits. Since there is no need to perform each operation in one clock period and to delay the performance of a subsequent operation until the next clock period, an asynchronous logic circuit according to the present invention can have the benefit of a faster processing speed than a conventional logic circuit. In addition, the parts of the circuit run only when needed and not when clocked by the clock pulse. Consequently, an asynchronous TFT logic circuit according to the present invention also exhibits reduced power consumption. This is particularly advantageous where the logic circuit is to be used as part of a portable, hand-held device operating from an integral voltage supply, such as a laptop computer or a mobile phone.

[0053] Moreover, the use of polysilicon TFTs need not be confined to the LSI logic circuits themselves but, as is apparent from FIGS. 5, 6 and 7, may also be used to implement the delay elements used in combination with such circuits. Rather, a large number of circuits having widely differing functions and using only polysilicon TFTs can be implemented using asynchronous circuit design methodology.

[0054] An example of a circuit which can be implemented advantageously using asynchronous circuit design methodology is a FPGA. FIG. 8 shows a simplified drawing of the integrated circuit (IC) of a FPGA 300 according to the present invention. The FPGA 300 comprises a static random access memory (SRAM 350, several input/output (I/O) blocks 310 and a plurality of logic blocks 320. Each logic block 320 in turn comprises a plurality of polysilicon TFTs 200. The arrangement and interconnections of the TFTs 200 may be the same for each of the logic blocks 320 or different logic blocks 320 may have different arrangement of TFTs 200. Each of the logic blocks 320 in the FPGA 300 is repeatable and comprises a plurality of inputs and a plurality of outputs. The FPGA 300 further comprises a plurality of routing channels, connecting lines 330, which allow interconnection between the logic blocks 320, and a plurality of programmable interconnects 340. The programmable interconnects 340 comprise programmable switching points to implement the routing of signals through the FPGA 300 between logic blocks 320.

[0055] The routing information of the FPGA 300 is held in the SRAM 350, together with the logic held by each logic block 320. Thus, when the FPGA 300 is programmed via the SRAM 350, inputs are selected from the I/O blocks 310 and routed to the appropriate inputs of selected logic blocks 320. Depending on the chosen inputs for the selected logic blocks 320, each logic block 320 will effect a predetermined logic function on the signal or signals input to it. This logic function may be a simple function, such as an AND or an OR function, a delay function or a more complicated function having a large number of variables, for example, it is not uncommon for logic functions to have nine or more variables. The signal or signals output by a logic block 320 may then be routed to one or more further logic blocks 320 for further processing. Eventually, signals are re-routed to the I/O block 310 for output from the FPGA 300. Thus, by selecting the appropriate inputs to the logic blocks 320 and the appropriate routing between the logic blocks 320, by means of the programmable interconnects 340, the logic function of each logic block 320 and hence of the whole FPGA 300 can be programmed using SRAM 350. In other words, the logic function of the FPGA 300 can be built by routing data between different logic blocks 320. Of course, the SRAM 350 and hence the logic function performed by the FPGA 300, can be reprogrammed.

[0056] The present invention is not limited to the use of SRAM 350 or any other form of memory for programming the FPGA 300. Alternatively, it would be possible to use programmable read only memory (PROM) for programming the FPGA 300 a single time only; erasable PROM (EPROM); or electrically erasable PROM (EEPROM) instead of SRAM. However, the FPGA memory would be typically programmed out of circuit only and, in the case of PROM, could not be reprogrammed.

[0057] A further alternative would be to implement the FPGA 300 of the present invention as a fuse based FPGA, in which each memory cell is provided with a fusible link to earth and information is placed in the memory by applying a pattern of electrical pulses to the array that is strong enough to blow the fuses at locations where open circuits are required. This means that the FPGA cannot subsequently be reprogrammed. However, the consequent disadvantage of the impossibility of reprogramming the memory may be offset for certain applications of these circuits by the reduced size and cost.

[0058] Moreover, the connections between the logic blocks 320 may be implemented in a number of ways. The connecting lines 330 may be a number of metal segments with programmable switching point 340 to implement the routing. The connections may be of the single length line type, having a grid of horizontal and vertical lines which intersect at a switch matrix between each logic block 320. Alternatively, the connections may be of the double length line type, in which a grid of horizontal and vertical lines intersects at switch matrices between two logic blocks 320. Further, they may be of the long type, wherein a grid is formed of metal interconnection segments that run the entire length of the array.

[0059]FIG. 9 shows one eagle of an interconnection means, in which metal connecting lines 330 run in parallel with one another in both the horizontal and vertical directions between each logic block 320. A tri-state programmable connector 340 is also provided for each logic block 320, which tri-state connector 340 may be either a horizontal connector 342 or a vertical connector 344. Horizontal and vertical tri-state connectors 342 and 344 are usually provided in equal numbers and, between them, allow connection of a horizontal connecting line with another horizontal connecting line; connection of a vertical connecting line with another vertical connecting line; connection of a horizontal connecting line with a vertical connecting line; or no connection at all between lines. The states of the connectors, and hence the routing of the FPGA 300, are determined by the programmed SRAM 350.

[0060] In each of the logic blocks 320, all of the switching operations of the polysilicon TFTs are triggered by a free-running signal so that successive stages within the logic blocks 320 are triggered by the completion of the operation of the preceding stage. In each stage, the output goes high only when all the inputs to that stage go high. Similarly, each logic block 320 is dependent on its operation from a signal either from the I/O blocks 310 or from a preceding logic block 320 in the programmed routing of the FPGA 300. In other words, the FPGA 300 comprises, in essence, separate blocks of logic each connected in series. This being the case, the FPGA 300 need not comprise a clock or clock signal and no matter what the logic delay of each polysilicon TFT, the FPGA 300 will operate satisfactorily.

[0061] Each of the TFTs 200 of a single logic block 320 is constructed using the same polysilicon film 100. This has the advantage that the grain boundaries of the polysilicon film 100 are similar for all of the TFTs 200 and hence the variation in threshold voltage and other TFT parameters is minimised within a logic block 320. Preferably, all of the logic blocks 320 are formed using the same polysilicon film 100.

[0062] More preferably still, in the asynchronous FPGA 300 of the present invention a plurality of logic blocks 320 is formed so that they lie in close proximity to one another using the same polysilicon film 100. Such a construction is illustrated in FIG. 6, in which eight logic blocks 320 are constructed in close proximity to each other using the same polysilicon film 100 to form a logic block group 400. The close proximity of each of the logic blocks 320 has the advantage that variations in grain boundaries in the polysilicon film (and hence in the parameters of the TFTs 200, such as threshold voltage) between each of the eight logic blocks 320 in the group 400 are minimised. The FPGA 300 of the present invention comprises a plurality of such groups 400 of logic blocks 320. Preferably, all of the groups 400 are formed using the same polysilcon film 100.

[0063] Connecting lines 330 and programmable connectors 340 can be arranged in the FPGA 300 accordingly, so that connections can be made to different logic blocks 320 in a group 400 and between different logic blocks 320 within a group 400. Of course, each group 400 in the FPGA 300 can contain fewer or more than eight individual logic blocks 320.

[0064] Since the operation of each logic block 320 and of each stage within each logic block 320 is dependent on receiving a signal either from an I/O block 310 or a preceding logic block 320, or both, which indicates that the preceding logic block has completed its operation or that the I/O block is ready to route a further input to the logic block concerned. The problems of variations in threshold voltage and other parameters previously associated with polysilicon TFTs have been overcome by the present invention. Thus, the most attractive features of polysilicon TFTs can be fully utilised. These include reduced manufacturing costs and increased yield in the manufacturing process, a lowering of the size constraints presently imposed on known FPGAs, lower power consumption than FETs and the ability to include a larger number of transistors in an FPGA.

[0065] It can be seen therefore that by using asynchronous logic, the logic operations of each logic block and hence the FPGA as a whole are completed in the shortest time possible, but compensating for the variability in the TFT characteristics because each stage of the FPGA only commences its operations when it is told that the preceding stage or stages from which it requires to receive information have each completed their respective operations. This is also the case when a logic block requires to also receive information from an I/O block, as it will not commence its operation until the I/O block is ready to supply the information to the logic block.

[0066] An FPGA 300 according to the present invention has a wide variety of applications in industry and is suitable for implementation in any field where logical processing of large amounts of information is required or where a large amount of logical manipulation needs to be performed on the data. An example of such an application is the linking of displays, in particular liquid crystal displays, with data inputs such as is used in an electronic book. Another example is an application requiring a high degree of security and hence large volumes of data that must be processed for encoding or decoding. In addition, the parts of the circuit run only when needed and not when clocked by the clock pulse. Consequently, an asynchronous TFT FPGA according to the present invention also exhibits reduced power consumption. Hand-held portable devices are also therefore particularly suited for implementation using an FPGA of the present invention.

[0067] The logic blocks 320 comprise C elements 500 arranged to form the equivalent of a register, as shown in FIG. 11. The logic within a logic block, which is shown schematically as logic element 502 in FIG. 11, is controlled by instructions from the SRAM 350, shown in FIG. 8, received on input 504. The logic is also arranged to receive further input from the routing channel along input line 506, which is also under the control of the SRAM 350. As described previously, routing of the instructions is achieved via programmable inconnects 340, shown in FIG. 8, which are also under the control of the SRAM 350.

[0068] Each routing channel, namely the connecting lines 330 shown in FIG. 8, preferably comprise a pair of dual rail lines to allow the use of the two bit logic protocol used to communicate between the various elements of the FPGA. As shown in FIG. 9, these routing channels are usually arranged in parallel with one another in both the horizontal and vertical directions to facilitate fabrication of the VLSI device. The programmable connectors 340 are therefore arranged as horizontal connectors 342 or vertical connectors 344, as shown in FIG. 9.

[0069] At the intersections of the horizontal and vertical routing channels it is unnecessary to arrange of each routing channel to be capable of connecting to every other routing channel and to arrange for such connections would significantly increase the complexity of the device layout. Access to the horizontal and vertical routing channels, as well as connections from the horizontal to the vertical routing channels, and vice versa, made by a horizontal connector 342, as shown in FIG. 12, or from the vertical to the horizontal routing channels, and vice versa, made by a vertical connector 344 as shown in FIG. 13, are made by transmission gates 520. Hence, in the FPGA according to the present invention, the horizontal and vertical connectors are arranged to alternate in both the horizontal and vertical directions of the device, as shown in FIG. 5.

[0070] As shown in FIG. 12, the horizontal connectors 342 are arranged so that horizontal routing channels H1 to H4 are respectively coupled to vertical routing channels V1 to V4 through respective transmission gates. However, it can be seen from FIG. 12 that horizontal routing channel H1 is not coupled to vertical routing channels V2, V3 and V4, channel H2 is not coupled to V1, V3 and V4, channel H3 is not coupled to channels V1, V2 an V4, and channel H4 is not coupled to channels V1, V2 and V3.

[0071] Likewise, as shows in FIG. 13, the vertical connectors 344 are arranged so that the vertical routing channels V1 to V4 are respectively coupled to horizontal routing channels H8 to H5 through respective transmission gates 520.

[0072] It can be seen from FIGS. 12 and 13 that the horizontal connectors 342 can each be isolated from the horizontal routing channels by transmission gates 520 in the horizontal direction of the array whereas the vertical connectors 344 can each be isolated from the vertical routing channels by transmission gates 520 in the vertical direction of the array. These arrangements of the transmission gates enable both the horizontal and the vertical routing channels to be subdivided and therefore, in effect, selectively controlled in any part of the FPGA.

[0073]FIG. 14 shows schematically a part of the FPGA and this part includes four logic blocks A,B,C and D. To perform a logic operation, it is assumed in this figure that logic block A is to be coupled to logic block B, and that logic block C is to be coupled to logic block D, but that the logic blocks A and B are to remain isolated logically from logic blocks C and D.

[0074] The horizontal and vertical transmission gates for, respectively, the horizontal and vertical connectors can be seen in FIG. 14. To connect the logic blocks in the above way the transmission gates 522 to 526 are opened. Because there is a connection between the horizontal and vertical routing channels at each of the horizontal and vertical connectors 342 and 344. The logic block A is connected to logic block B, and logic block C is connected to logic block D. However, it is required to maintain logic blocks A and B isolated from logic blocks C and D. This is achieved by the selective opening of transmission gates 522 to 526. In this way logic block A is coupled to logic block B by the routing channel path 530, shown by the bold line in FIG. 14. Likewise, logic block C is connected to logic block D by the routing channel path 532, shown by the bold dotted line in FIG. 14. However, the opening of transmission gate 526 effectively divides horizontal routing channel 534 into two sections, shown as sections 534 a and 534 b in FIG. 14. Section 534 a, which extends to the open transmission gate 526, provides connection to logic block A but is not connected to logic block C. Section 534 b provides connection to logic block C but not to logic block A. Likewise opening of transmission gate 524 effectively divides horizontal routing channel 536 into sections 536 a and 536 b.

[0075] It is to be understood that, to assist understanding, each of the routing channels shown in FIGS. 12 to 14 is shown as a single conductor line. However, in practice, each of the routing channels would actually comprise dual conductor lines to allow the use of the two bit logic described above.

[0076] The selective operation of the transmission gates allows therefore a single routing channel to be used to provide connectors to a plurality of logic block having their respective input ports coupled to the routing channel concerned whilst allowing the logic blocks to be isolated from each other. Therefore, a single routing channel can be used to contemporaneously feed logic commands to respective logic blocks along individual sections of the routing channel. This arrangement, with the horizontal and vertical connectors configured as shown repectively in FIGS. 12 and 13, enables the logic blocks 320 of the FPGA to be inconnected in the horizontal and vertical directions with a substantial reduction in the complexity at the crossover points of the routing channels. It also enables the horizontal and vertical routing channels to be used in a highly efficient manner, thereby achieving a substantial reduction in the complexity of the overall circuit layout.

[0077] The aforegoing description has been given by way of example only and it will be appreciated by a person skilled in the art that modifications can be made without departing from the scope of the present invention. For example, a succeeding stage may sense that a preceding stage has completed its operation by sensing that an output signal from the preceding stages changes from a first level to a second level, such as a high level to a low level, or vice versa.

[0078] Additionally, in the embodiments described, a two wire system and two bit logic have been used to convey data and data completion. However, other encoding systems may also be used or this purpose such as 1 of 4 or 3 of 7 encoding.

[0079] Furthermore, the logic gates of the interface circuit 64 are shown as OR gates. However, other configurations of logic gates may be used, as will be apparent to a person skilled in this art. 

1. A polycrystalline semiconductor thin film transistor asynchronous logic circuit comprising an array of logic blocks including a first logic block for performing a logic operation and for providing logic output signals to a second logic block, wherein the second logic block is arranged not to commence its logic operation until the first logic block has completed its logic operation.
 2. An asynchronous logic circuit according to claim 1 wherein the second logic block is arranged to receive a further signal for indicating that the first logic block has completed its logic operation and the second logic block is further arranged not to commence its logic operation until receipt of the further signal.
 3. An asynchronous logic circuit according to claim 2 comprising an interface circuit coupled to the first and second logic blocks and arranged to receive the logic output signals from the first logic block and not to provide the further signal until all of the logic output signals from the first logic block indicate that the first logic block has completed its logic operation.
 4. An asynchronous logic circuit according to claim 3, wherein the interface circuit is further arranged to receive a logic output signal from a further logic block of the array and is arranged not to provide the further signal until receipt of the logic output signal from the further logic block.
 5. An asynchronous logic circuit according to claim 3 or 4, wherein the interface circuit comprises an array of logic gates coupled in series with a delay circuit.
 6. An asynchronous logic circuit according to any one of the preceding claims, wherein the logic blocks are arranged to provide logic output signals in binary form comprising of at least two bits such that the logic output signals can be used to signify logic ONE, logic ZERO, a not ready condition, and an unacceptable condition for each logic block.
 7. An asynchronous logic circuit according to claim 6 wherein logic blocks of the array are interconnected using interconnects comprising a number of conductive paths corresponding to the number of bits used for the logic output signals.
 8. An asynchronous logic circuit according to claim 7, or claim 6 when appendant to claim 5, wherein the array of logic gates comprises OR gates arranged to receive the at least two bit logic output signals.
 9. An asynchronous logic circuit according to any one of the preceding claims, wherein said circuit comprises no transistors other than polycrystalline semiconductor thin film transistors.
 10. An asynchronous logic circuit according to any one of the preceding claims, wherein said asynchronous logic circuit is a large scale integrated or a very large scale integrated digital logic circuit.
 11. An asynchronous logic circuit according to any one of the preceding claims, wherein said semiconductor includes polysilicon as an active layer.
 12. An asynchronous logic circuit according to any one of the preceding claims comprising an array of the logic blocks configured to provide a fully programmable gate array (FPGA).
 13. An asynchronous logic circuit according to claim 12, when appendant to claim 4, wherein the further logic signal comprises a logic output signal from a further logic block of the array.
 14. An asynchronous logic circuit according to claim 12, wherein th further logic signal comprises a logic signal from an input/ouput block of the FPGA.
 15. An asynchronous logic circuit according to any one of claims 12 to 14, wherein said FPGA comprises a plurality of interconnected logic blocks and wherein each said logic block has a logic function and comprises a plurality of polycrystalline semiconductor thin film transistors..
 16. An asynchronous logic circuit according to any one of the preceding claims, wherein the logic function of any logic block is programmable.
 17. An asynchronous logic circuit according to claim 16, wherein connections between each of said logic blocks and said logic function of each said logic block are programmable using an SRAM.
 18. An asynchronous logic circuit according to claim 17, wherein the connections are configured as horizontal and vertical connections at intersections of horizontal and vertical routing channels for coupling between the logic blocks of the FPGA, the horizontal connectors comprising transmission gates arranged such that, at a horizontal connector, each horizontal routing channel can be selectively coupled to a respective vertical routing channel at the said horizontal connector but not to the other vertical routing channels at the said connector, and such that, at a vertical connector, each vertical routing channel can be selectively coupled to a respective horizontal routing channel at the said vertical connector but not to the other horizontal routing channels at the said vertical connector.
 19. An asynchronous logic circuit according to claim 18 wherein the horizontal connectors comprises transmission gates for selectively decoupling the horizontal connectors from the horizontal routing channels and the vertical connectors comprise transmission gates for selectively decoupling the vertical connectors from the vertical routing channels.
 20. An asynchronous logic circuit according to claim 18 or 19, wherein the horizontal and vertical connectors are arranged such that in the horizontal and vertical directions of the routing channels of the FPGA, horizontal connectors are alternately disposed with respect to vertical connectors whereby a connection between the horizontal connectors is made through at least one vertical connector, and a connection between two vertical connectors is made through at least one horizontal connector.
 21. An asynchronous logic circuit according to any one of claims 18 to 20, wherein each said connection is formed with a programmable tri-state connector.
 22. An asynchronous logic circuit according to any one of claims 12 to 21, wherein several of said plurality of logic blocks are arranged in close proximity to one another so as to be formed with a single polycrystalline semiconductor film thereby forming a group.
 23. An asynchronous logic circuit according to claim 22, wherein said FPGA comprises a plurality of said groups.
 24. A method of performing asynchronous logic comprising providing an asynchronous logic circuit of polycrystalline semiconductor thin film transistors arranged as an array of logic blocks including a first logic block performing a logic operation and providing logic output signals to a second logic block and arranging the second logic block not to commence its logic operation until the first logic block has completed its logic operation.
 25. A method according to claim 24 comprising providing the second logic block with a further signal for indicating that the first logic block has completed its logic operation and arranging the second logic block so that it does not commence its logic operation until receipt of the further signal.
 26. A method according to claim 25 comprising arranging an interface circuit between the first and second logic block such that the interface circuit receives the logic output signals from the first logic block but does not provide the further signal until all of the logic output signals from the first logic block indicate that the first logic block has completed its logic operation.
 27. A method according to claim 26, wherein the interface circuit is also arranged to receive a logic output signal from a further logic block of the array and is arranged not to provide the further signal until receipt of the logic output signal from the further logic block.
 28. A method according to claim 26 or 27, wherein the interface circuit is provided in the form of an array of logic gates coupled in series with a delay circuit.
 29. A method according to any one of claims 24 to 28 comprising providing logic output signals in binary form having at least two bits such that the logic output signals are used to signify logic ONE, logic ZERO, a not ready condition for a logic block, and an unacceptable condition for a logic block.
 30. A method according to claim 29 comprising providing interconnects between the logic blocks having a number of conductive paths equal to the mumber of bits of the logic output signals.
 31. A method according to claim 30, or claim 29 when appendant to claim 28, wherein the logic gates are provided as OR gates arranged to receive the at least two bit logic output signals.
 32. A method according to any one of claims 24 to 31 comprising providing the asynchronous logic circuit so as to comprise no transistors other than polycrystalline semiconductor thin film transistors.
 33. A method according to any one of claims 24 to 32, wherein the asynchronous logic circuit is provided as a large scale integrated or a very large scale integrated digital logic circuit.
 34. A method according to any one of claims 24 to 33, wherein said semiconductor is selected to comprise polysilicon as an active layer.
 35. A method according to any one of claims 24 to 34 comprising providing the array of logic blocks as a fully programmable gate array (FPGA).
 36. A method according to claim 35, when appendant to claim 26, comprising providing the further logic signal from an input/output block of the FPGA.
 37. A method according to any one of claims 24 to 36 comprising providing each of said logic blocks with a logic function and in the form of a plurality of polycrystalline semiconductor thin film transistors.
 38. A method according to claim 37 comprising providing the logic function of any logic block as a programmable logic function.
 39. A method according to claim 38 comprising providing connections between the logic blocks as programmable connections, using an SRAM.
 40. A method according to claim 39 comprising configuring the connections as horizontal and vertical connectors at intersections of horizontal and vertical routing channels for coupling between the logic blocks of the FPGA, and providing the horizontal connectors with transmission gates arranged such that, at a horizontal connector, each horizontal routing channel can be selectively coupled to a respective vertical routing channel at the said horizontal connector but not to the other vertical channels at the said connector and such that, at a vertical connector, each vertical routing channel can be selectively coupled to a respective horizontal routing channel at the said vertical connector but not to the other horizontal routing channels at the said vertical connector.
 41. A method according to claim 40 comprising configuring the horizontal connectors to comprise horizontal transmission gates for selectively decoupling the horizontal connectors from the horizontal routing channels, and configuring the vertical connectors to comprise vertical transmission gates for selectively decoupling the vertical connectors from the vertical routing channels.
 42. A method according to claim 41 comprising selectively operating the horizontal transmission gates and/or the vertical transmission gates so as to subdivide respectively the horizontal and/or vertical routing channels between selected logic blocks of the FPGA.
 43. A method according to any one of claims 40 to 42 comprising arranging the horizontal and vertical connectors such that, in the horizontal and vertical directions of the routing channels of the FPGA, horizontal connectors are alternately disposed with respect to vertical connectors whereby a connection between two horizontal connectors is made through at least one vertical connector, and a connection between two vertical connectors is made through at least one horizontal connector.
 44. A method according to any one of claims 40 to 43 comprising providing each connection as a programmable tri-state connector.
 45. A method according to any one of claims 35 to 44 comprising arranging several of said plurality of logic blocks in close proximity to one another so as to be formed with a single polycrystalline semiconductor film thereby forming a group.
 46. A method according to claim 43, comprising providing the FPGA as a plurality of said groups. 